package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import net.sf.jsqlparser.expression.DateTimeLiteralExpression.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 账单记录对象 bills
 * 
 * @author ruoyi
 * @date 2024-07-02
 */
public class Bills extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 账单ID */
    private Long billId;

    /** 账单序列号 */
    @Excel(name = "账单序列号")
    private String billSystemSerial;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String payerUser;

    /** 支付序列号 */
    @Excel(name = "支付序列号")
    private String paymentSerialNumber;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String paymentType;

    /** 交易类型 */
    @Excel(name = "交易类型")
    private String transactionType;

    /** 交易日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交易日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date transactionDate;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;

    /** 退款金额 */
    @Excel(name = "退款金额")
    private BigDecimal refundAmount;

    /** 交易状态 */
    @Excel(name = "交易状态")
    private String transactionStatus;

    /** 停车地点 */
    @Excel(name = "停车地点")
    private String serviceProvider;

    /** 发票 */
    @Excel(name = "发票")
    private String invoiceId;

    public void setBillId(Long billId) 
    {
        this.billId = billId;
    }

    public Long getBillId() 
    {
        return billId;
    }
    public void setBillSystemSerial(String billSystemSerial) 
    {
        this.billSystemSerial = billSystemSerial;
    }

    public String getBillSystemSerial() 
    {
        return billSystemSerial;
    }
    public void setPayerUser(String payerUser) 
    {
        this.payerUser = payerUser;
    }

    public String getPayerUser() 
    {
        return payerUser;
    }
    public void setPaymentSerialNumber(String paymentSerialNumber) 
    {
        this.paymentSerialNumber = paymentSerialNumber;
    }

    public String getPaymentSerialNumber() 
    {
        return paymentSerialNumber;
    }
    public void setPaymentType(String paymentType) 
    {
        this.paymentType = paymentType;
    }

    public String getPaymentType() 
    {
        return paymentType;
    }
    public void setTransactionType(String transactionType) 
    {
        this.transactionType = transactionType;
    }

    public String getTransactionType() 
    {
        return transactionType;
    }
    public void setTransactionDate(Date transactionDate)
    {
        this.transactionDate = transactionDate;
    }

    public Date getTransactionDate()
    {
        return transactionDate;
    }
    public void setOrderAmount(BigDecimal orderAmount) 
    {
        this.orderAmount = orderAmount;
    }

    public BigDecimal getOrderAmount() 
    {
        return orderAmount;
    }
    public void setRefundAmount(BigDecimal refundAmount) 
    {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getRefundAmount() 
    {
        return refundAmount;
    }
    public void setTransactionStatus(String transactionStatus) 
    {
        this.transactionStatus = transactionStatus;
    }

    public String getTransactionStatus() 
    {
        return transactionStatus;
    }
    public void setServiceProvider(String serviceProvider) 
    {
        this.serviceProvider = serviceProvider;
    }

    public String getServiceProvider() 
    {
        return serviceProvider;
    }
    public void setInvoiceId(String invoiceId) 
    {
        this.invoiceId = invoiceId;
    }

    public String getInvoiceId() 
    {
        return invoiceId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("billId", getBillId())
            .append("billSystemSerial", getBillSystemSerial())
            .append("payerUser", getPayerUser())
            .append("paymentSerialNumber", getPaymentSerialNumber())
            .append("paymentType", getPaymentType())
            .append("transactionType", getTransactionType())
            .append("transactionDate", getTransactionDate())
            .append("orderAmount", getOrderAmount())
            .append("refundAmount", getRefundAmount())
            .append("transactionStatus", getTransactionStatus())
            .append("serviceProvider", getServiceProvider())
            .append("invoiceId", getInvoiceId())
            .toString();
    }
}
